package main

import "fmt"

//接口实现， 多态性
type AInterface interface {
	Start()
	Stop()
	Down()
	Up()
}

type AImpl struct{}

type BImpl struct{}

func (b BImpl) Start() {
	fmt.Println("BImpl开启了方法")
}

func (b BImpl) Stop() {
	fmt.Println("BImpl关闭了方法")
}

func (b BImpl) Down() {
}

func (b BImpl) Up() {

}

func (a AImpl) Start() {
	fmt.Println("AImpl开启了方法")
}

func (a AImpl) Stop() {

}

func (a AImpl) Down() {

}

func (a AImpl) Up() {

}

func main() {

	var al AImpl
	var a AInterface = al
	a.Start()

	var bl BImpl
	var b AInterface = bl

	b.Start()

}
